home *** CD-ROM | disk | FTP | other *** search
- File MSKERM.BWR MS-DOS KERMIT 3.10 "BEWARE FILE" March 1991
-
-
- MS-DOS KERMIT VERSION 3.10 "BEWARE FILE": KNOWN BUGS AND LIMITATIONS
-
- This file applies to version 3.10 of MS-DOS Kermit for the IBM PC and PS/2
- families and compatibles. If you are experiencing problems with MS-DOS
- Kermit, please read this file first to find out the status of the problem.
- It might be known already, and a workaround might be listed here.
-
- The user manual for MS-DOS Kermit 3.0 is "Using MS-DOS Kermit", by Christine
- M. Gianone, published by Digital Press, Bedford, MA, 1990, order number
- EY-C204E-DP. Call 1-800-343-8321 (toll free, USA) to order. A new edition
- for version 3.1 is in preparation.
-
- MS-DOS Kermit 3.1 has been successfully tested with PC-DOS 2.0, 3.0, 3.30, and
- 4.0 on a wide variety of IBM PCs, XTs, PC/ATs, Portable PCs, PS/2s, and
- compatibles. DOS 2.0 or later is required.
-
- Please report problems via e-mail to Info-Kermit@watsun.cc.columbia.edu or to
- KERMIT@CUVMA.BITNET, or call (212) 854-5126, or write to Kermit Distribution,
- Columbia University Center for Computing Activities, 612 West 115th Street,
- New York, NY 10025, USA.
-
- MEMORY REQUIREMENTS
-
- Version 3.10 of MS-DOS Kermit normally requires about 190K of memory,
- including the memory which it allocates dynamically for ten rollback screens.
- Each rollback screen requires about 8KB. You can control the number of
- rollback screens by putting a line like this in your AUTOEXEC.BAT file:
-
- SET KERMIT=ROLLBACK 40
-
- If you don't have enough memory to run Kermit with the default number of
- rollback screens, then use this same mechanism to reduce the number, for
- example SET KERMIT=ROLLBACK 1 (or 0).
-
- Kermit allocates memory for macro and key definitions dynamically, so if you
- plan to have many such definitions active, you will need sufficient extra
- memory available over and above the amount required for KERMIT.EXE itself and
- its rollback screens.
-
- Finally, Kermit's RUN command as well as many of its DOS-like commands (DIR,
- TYPE, etc) work by loading a copy of COMMAND.COM (approx 25K) plus whatever
- other programs you might ask COMMAND.COM to run.
-
- PROBLEMS WITH KERMIT UNDER MICROSOFT WINDOWS, DESQVIEW, OS/2, ETC
-
- The second edition of "Using MS-DOS Kermit" contains hints for setting up your
- windowing environment (OS/2, Windows, or DesqView) for MS-DOS Kermit. This
- information is also in the file MSKERM.HLP.
-
- Although MS-DOS Kermit works in these environments, and even takes advantage
- of many of their features, it does not have a "graphical user interface".
- You still have to type commands to the MS-Kermit> prompt.
-
- Reportedly, under Microsoft Windows/286 v2.03 there may be problems with
- memory allocated from DOS being corrupted during Windows' operations. One
- symptom is that macro definitions will turn into garbage (random characters).
- This has not been observed under Windows/386 and Windows 3.0.
-
- When running under any version of MS Windows the user is cautioned that
- specifying a ",P" at the end of a serial port setting in WIN.INI or in a MODE
- command may cause loss of characters from the serial port. Remove the ",P"
- from the setting.
-
- INCOMPATIBILITIES BETWEEN MS-DOS KERMIT 3.10 and 3.00/3.01:
-
- Macro arguments are now "stacked", saved at each macro entry and restored upon
- exit, so that calling macro B from within macro A does not destroy macro A's
- arguments. Note: this changes the operation of the LOOKUP macro described in
- "Using MS-DOS Kermit". Variable \%0 now holds the name of the macro.
-
- The REPLAY command now allows screen rollback, dump, print, etc. At the end
- of the replay file, use regular terminal emulation keys (PgUp, Ctrl-End,
- PrintScreen) to invoke these functions, and use Alt-X, Ctrl-]C, or Ctrl-C to
- get back to the prompt. Previously, any keystroke would return to the prompt.
-
- If an INPUT command is interrupted by pressing any key, the status
- is set to FAILURE, just as if the command had timed out. If you need to know
- whether an INPUT failed because it timed out or was interruped, you can
- surround it with SET ALARM and IF ALARM commands, e.g.
-
- SET ALARM 30
- INPUT 30 Login:
- IF SUCCESS GOTO OK
- IF ALARM ECHO INPUT Interrupted from keyboard
- IF NOT ALARM ECHO INPUT Timed out
-
- The ECHO command no longer requires a \13 on the end. It supplies both CR
- and LF.
-
- The WRITE command, introduced in version 3.00, no longer accepts "objects"
- like DATE, TIME, etc. Now it is more like an ECHO command that includes a
- destination specifier: WRITE SCREEN, WRITE SESSION, etc. The argument in
- all cases is a line of text. This text may contain any kind of backslash
- codes or variables, including the new (to version 3.10) built-in \v(xxx)
- variables like \v(time), \v(date), etc. Old-format WRITE commands will still
- work, but will produce different results. For example WRITE SCREEN TIME FOO
- will print "TIME FOO" on the screen rather than something like "12:34:56 FOO".
-
- BYE, FINISH, or LOGOUT commands that fail (e.g. because the remote server has
- these operations disabled) no longer behave as if they had succeeded.
-
- Text and graphics screens can now have separate colors.
-
- COMMUNICATIONS
-
- On IBM PCs and PS/2s with IBM asynchronous adapters, Kermit can be used at
- speeds up to 57600 bps. For 115200 bps to work, a very short shielded cable is
- required, and the async adapters of the two machines must be in perfect tune.
- Some VAX serial port interfaces are out of tolerance at 19,200 bps and faster.
-
- Although high speeds can be used for file transfer, the maximum speed for VT
- and Tektronix terminal emulation depends upon the model of your PC. For
- original PCs and PC/XTs, it is 9600 bps. For PC/ATs and PS/2s, it is
- generally 19200, perhaps 38400. If your speed is set too high for your PC
- model, the symptom might be lost or garbled characters or graphics images on
- the screen. Normally XON/XOFF flow control prevents these problems, but if
- flow control is NONE then the above speed guidelines are typical limits of the
- machine's display adapter and CPU. Printing while in Connect mode clearly
- requires that flow control be active.
-
- MS-DOS Kermit does not attempt to monitor the communication line for carrier
- loss during terminal emulation or file transfer (but you can SHOW MODEM or
- SHOW COMMUNICATIONS to inquire about CD, DSR, and CTS). The script command
- WAIT permits sensing carrier presence while doing scripts or macros.
-
- The SHOW MODEM and WAIT commands work right only if your modem or other
- communication device is configured to raise and lower the DSR, CTS, and CD
- signals appropriately, and the cable that connects your PC to the modem passes
- these signals through. For some modems, the factory setting is to always keep
- CD on, even if there is no connection. Consult your modem manual. Some C&T
- chip sets emulate the serial port in such a way that these signals are always
- raised.
-
- For RS-232 devices, the HANGUP command (and Ctrl-]H in CONNECT mode) works
- only if the cable that connects your PC to the communication device passes the
- DTR signal through, and if the communication device itself is configured to
- hang up or otherwise terminate the connection when the DTR signal is lowered
- by the PC. For some modems, the factory setting is to ignore DTR transitions.
- Consult your modem manual.
-
- MS-DOS Kermit does not have a DIAL command or a built-in phone directory.
- However, Kermit script programs can be (and have been) written to fill this
- need.
-
- It has been found that when communicating across some network pathways that
- the longest burst of information tolerated from the PC is rather short. For
- example, the LAT path with SET PORT DECnet has a limit of 256 bytes and the
- SET PORT TES path has a limit of 512 bytes in a burst. Longer bursts cause
- the communications software to drop the connection. This consideration is
- important when sending files, and if sliding windows is active, the sum of
- all the packets in the window (packet length times the number of window slots)
- must be shorter than the above limits. This is not a Kermit problem.
-
- TERMINAL EMULATION
-
- Kermit's VT320/340 emulator lacks the following functions of the corresponding
- real terminals:
- . Smooth scroll
- . Down loadable soft fonts
- . ReGis graphics (VT340/330)
- . Dual sessions in split screens (VT340/330)
- . Local screen editing and block transmission (for security reasons)
- . ENQ/Answerback (also for security reasons)
- . True double height/width characters (these are simulated)
- . Selective erasure (as a character attribute, a formatted screen item)
- . Many of the exotic and rarely known features of the DEC VT340/330
- series: mostly formatted screen and graphics operations highly specialized
- to DEC hardware.
-
- If Kermit loses incoming characters during terminal emulation because of
- serial port buffer overruns or network packet loss (which it can detect), it
- sounds a beep (i.e., it replaces the lost character(s) with a Control-G).
-
- If VAX/VMS thinks you have a VT320, it will send 8-bit control sequences.
- Kermit will not understand them unless you SET TERMINAL BYTESIZE 8 (or the
- equivalent command SET DISPLAY 8). Or, you can prevent VMS from sending 8-bit
- control sequences (for example, if you really do not have an 8-bit connection)
- by giving the VMS command SET TERMINAL /NOEIGHT. The symptom of getting this
- wrong is the appearance of fragments of escape sequences on the screen and
- wrong cursor positioning, and possibly fractured tab settings. You should
- also use Xon/Xoff flow control in both directions (SET TERM /TTSYNC /HOSTSYNC
- on VMS).
-
- If your display adapter lacks sufficient memory (as do CGA and the early 64K
- EGA boards), then when you toggle away from a graphics screen, or type the
- connect-mode escape character (Ctrl-]), the graphics image will be lost.
- Furthermore, certain graphics images may be overlaid with vertical stripes on
- small (64K) EGA systems.
-
- When you type the escape character (normally Ctrl-]) while in Tektronix
- graphics mode, the screen goes back to text memory. Then when you type the
- argument character, the graphics screen reappears (unless the argument was C
- or P). Ctrl-]F will not file the graphics screen, but rather the text screen,
- because that's the screen that's showing after type the Ctrl-] key. To file
- the graphics screen (in TIFF format), use Ctrl-End (which has the Kermit verb
- \Kdump assigned to it by default).
-
- You can't dump the Tektronix screen while the GIN-mode crosshair cursor is
- active. When the crosshairs are up Kermit's keyboard translator is not
- active. Key strokes (of regular typewriter keys) or mouse actions are used to
- transmit the crosshair coordinates. If you press a non-typewriter key, Kermit
- just beeps.
-
- In VT100/300 emulation on the IBM family, receipt of the ESC [ 4 m (turn on
- underscore) command results in reverse video rather than underscore on IBM CGA,
- EGA and other color monitors.
-
- If certain incomplete escape sequences are received during terminal emulation,
- Kermit can hang. For example, Operating System Command. Kermit is waiting
- for the string terminator that never comes. This usually happens because of
- noise on the communication line. Reset the terminal emulator by pressing ALT =
- (ALT and the equals sign key) which is default key binding of keyboard verb
- \Kreset.
-
- If your display adapter handles 132 columns in text mode, and Kermit knows how
- to control it, Kermit can switch automatically between 80- and 132-column mode
- upon host command or SET TERMINAL WIDTH { 80, 132 }. Otherwise you have to
- provide external commands in the files COLS80.BAT and COLS132.BAT. Kermit
- does not support other widths (except, to a certain extent, 40).
-
- If you have a monitor with fixed horizontal frequency but a video adapter that
- Kermit knows how to switch into 132 column mode, you will see only garbage on
- your screen whenever Kermit switches it to 132 columns. There is presently no
- way to tell Kermit to ignore the "switch to 132 columns" escape sequence.
- Solution: if you buy a 132-column-capable video adapter, make sure you have a
- compatible monitor.
-
- Kermit assumes 25 screen lines, but can adapt itself to other lengths to a
- certain extent if it knows how to get this information from the video adapter
- (but there still may be some confusion about screen length when switching
- between text and graphics modes, or between 80 and 132 column mode, or
- escaping back from CONNECT mode, due primarily to lack of reliable or
- consistent information from the many different kinds of video adapters). The
- following video boards are directly controllable by Kermit:
-
- ATI EGA and VGA Wonder (NEW)
- AST, Dell, and other boards based on Western Digital VGA boards (NEW)
- AT&T / Olivetti
- Everex Viewpoint EV-659, FVGA-673, EV-678, Micro Enhancer Deluxe (NEW)
- IBM XGA (NEW).
- Paradise AutoSwitch EGA Mono (NEW)
- Paradise VGA Plus 16 (ROM BIOS 003056-xxx firmware) (NEW)
- Paradise VGA Plus (ROM BIOS 003056-xxx firmware) (NEW)
- Paradise VGA Professional (ROM BIOS 003056-xxx firmware) (NEW)
- STB VGA/EM (Tseng TVGA)
- STB VGA/EM Plus (Tseng 4000), VGA/EM-16, VGA/EM-16 Plus (NEW)
- Tseng Labs EVA board with 132-column kit installed
- Tseng Labs UltraPAK mono/Hercules with 132 column modes
- Video 7 Vega Deluxe with 132X25.COM driver installed and Video 7 VGA
-
- For others, you must create COLS80.BAT and COLS132.BAT files. If your video
- board and monitor cannot do 132 columns in text mode, neither can Kermit.
-
- To get properly formatted screens during terminal emulation, you must also
- inform the remote host of your screen width and length.
-
- Kermit has many features of the DEC VT340 terminal but does not emulate a
- particular kind of colored graphics terminal, such as a DEC ReGIS display, or
- a Tektronix 41xx or 42xx series. However, it can be used for color graphics
- by mixing ANSI color-setting escape sequences with Tektronix or Sixel
- commands. This requires graphics software vendors adding support for MS-DOS
- Kermit graphics to their packages (so far, WordPerfect Corp has done this for
- their host-resident products).
-
- Although Kermit handles Sixel but not REGIS graphics, there is at least one
- REGIS-to-Sixel converter on the market: RETOS, a DEC product for VAX/VMS.
-
- Problems may occur when using Kermit with host-resident (VAX/VMS) versions of
- WordPerfect because the color palette report sent by the "terminal" upon
- request of WordPerfect is very long. If the host is not configured properly,
- parts of the report will be lost because of overruns on the VMS side. SET
- TERM /HOSTSYNC and /TTSYNC are required by WP/VMS. Even then intervening
- communication boxes (e.g. terminal servers), can become overloaded with the
- 200++ byte response unless the server is configured to handle information of
- that length or to do flow control effectively.
-
- So that key translation and macros can work on both IBM and non-IBM compatible
- PCs, Kermit uses the system BIOS to obtain key scan codes. But the IBM BIOS
- does not produce scan codes for certain keys, notably Num Lock.
-
- Printer support: Transparent printing is started when the host sends the
- sequence ESC [ 4 i, and stops when the host sends ESC [ 5 i. Transparent
- printing passes all characters, including escape sequences, that arrive at the
- port directly to the printer without translation (but strips off the parity
- bit if Kermit's parity is not NONE). If character translation is desired, or
- it is desired not pass screen-control escape sequences to the printer, use
- Autoprint rather than Transparent print (ESC [ 0 i, ESC [ ? 4 i, ESC [ ? 5 i).
- In that case, characters are translated to the current IBM code page. If your
- printer doesn't support your IBM code page, you need an external utility to
- translate from the PC code page to the printer's character set. You can use
- SET PRINTER xxxx to capture Transparent print or Autoprint data into a file.
-
- If the host sends a print-initiating escape sequence, or if you press
- Print-Screen or Ctrl-Print-Screen, and you don't have a printer attached, your
- PC can hang. To avoid this, put SET PRINTER NUL in your MSKERMIT.INI file.
-
- When you PUSH to DOS (including when you use Kermit's RUN command), and you
- have XON/XOFF flow control enabled, Kermit sends an XOFF (Ctrl-S) to the host
- when you leave, and XON (Ctrl-Q) when you return. This is good behavior, as
- it prevents data transmitted by the host while Kermit's back was turned from
- being lost. However, if you do this while using the EMACS text editor on the
- host, the Ctrl-S will be interpreted as a Search command, and the Ctrl-Q as a
- Quote command. When you return to EMACS, type one or two Ctrl-G's to get out
- of the Search command.
-
- Similar comments about sending Xoff and Xon apply when Kermit is commanded
- to change its screen size between 80 and 132 columns. For example, if your
- host insists upon seeing a particular character to begin a session, but not
- an Xoff/Xon pair, then use OUTPUT <the special character> before starting
- Connect mode with a screen width different than that at the Kermit prompt.
-
- Session logging can be turned on using the LOG SESSION command, and it can
- be toggled on and off during terminal emulation by using whatever keys are
- associated with the verbs \Klogoff and \Klogon. One user stated the
- requirement to enable a session log, but to have it initially toggled off.
- This can be done as follows (using the F1 and F2 keys as examples):
- SET KEY \315 terminals ; F1 to turn on log
- SET KEY \316 \klogoff ; F2 to turn log off
- DEFINE terminals log session, set key \315 \klogon, define terminals
-
- INTERNATIONAL CHARACTER SETS
-
- Chapter 13, "International Character Sets," of the first printing of "Using
- MS-DOS Kermit" does not mention that in order to use code page switching, you
- also need to have a statement like:
- DEVICE=C:\DISPLAY.SYS CON:=(EGA,437,(4,2))
- in your CONFIG.SYS file. This is corrected in the second printing. Refer to
- your DOS manual for details.
-
- It is possible to use SET TRANSLATION INPUT to define new terminal character
- sets, that is new translations between whatever codes the host happens to be
- sending and whatever glyphs are loaded in the PC's character generator. In
- MS-DOS Kermit 3.01 and later, this mechanism has been extended to work with
- character sets in which the C1 range (80h-9fh) contains graphic, rather than
- control characters, but only if you SET TERMINAL CHARACTER-SET TRANSPARENT.
-
- MS-DOS Kermit 3.01 changes the strategy used by SET TRANSLATION INPUT and
- which is described in "Using MS-DOS Kermit". In version 3.00 and earlier,
- this command worked like this:
-
- SET TRANSLATION INPUT \xxx \yyy
-
- where \xxx is the code for the character received at the communication port,
- and \yyy is the code for the character to display on the screen. In version
- 3.01 and later, \xxx is the code for the character that would be displayed on
- the screen in the current code page after normal translation, rather than the
- untranslated character that arrives at the port. Example: modifying the
- built-in Swedish character set to show character values 64, 94, 96, and 126
- as ASCII rather than Swedish characters (using PC code page 437):
-
- SET TERMINAL CHARACTER-SET SWEDISH
- SET TRANSLATION INPUT \144 \64 ; What would normally be E-acute is atsign
- SET TRANSLATION INPUT \154 \94 ; U-umlaut is circumflex
- SET TRANSLATION INPUT \129 \126 ; u-umlaut is tilde
- SET TRANSLATION INPUT \130 \96 ; e-acute is accent grave
- SET TRANSLATION INPUT ON ; Enable translation
-
- MS-DOS Kermit determines the current file character set, and it decides which
- translations to apply to the current terminal character set, by asking DOS
- what the current code page is. Code pages exist which are not distributed in
- the USA, such as CP861 for Icelandic and CP862 for Hebrew. It is said that
- DOS incorrectly reports these code pages to be CP437. Furthermore it's not
- clear what the DOS code page reporting mechanism would be, if any, for
- otherwise IBM-compatible PCs custom fitted with special character sets such as
- Cyrillic, Arabic, etc, so in these cases too Kermit assumes CP437 and again,
- there is no current method for the user to load the necessary character set
- translation tables (many).
-
- Code page switching is reportedly not possible on old PC/ATs that have
- small-memory (64K) EGA boards.
-
- The right hand portion (GRight) of the Latin1 terminal character set will not
- be accessed by SI/SO locking shifts unless Kermit first receives the escape
- sequence ESC - A (Escape, dash, uppercase A) from the host. This is in
- accordance with the way Digital Equipment Corporation designed the VT300
- terminals. That is, the initial state is G0 = G1 = ASCII, G2 = G3 = Latin1,
- and SI (Control-N) shifts the GLeft pointer from the G0 to the G1 set. The
- escape sequence ESC - A causes G1 to be loaded with Latin1. Alternatively,
- the right hand portion is accessable by using Single Shift 2, ESC N, or
- Locking Shift 2, ESC n, before the text character(s). You can also designate
- Latin-1 to G1 (so that SO/SI will work) by hand with the command:
-
- SET TERMINAL CHARACTER-SET LATIN1 G1
-
- (This feature is new to verstion 3.10.) Kermit's terminal emulator sends
- characters with their high bit set as ESC N <character without the high bit>
- if parity is other than None.
-
- To get international characters to display correctly on the DEC VAXmate during
- terminal emulation, you must SET TERMINAL CHARACTER-SET LATIN1 G2.
-
- LOG SESSION records the characters that arrive at the serial port, before
- translation by either Kermit's built-in terminal character set translation
- tables or by user-specified SET TRANSLATION INPUT commands (versions 2.32/A and
- earlier did apply the SET TRANSLATION INPUT command before logging to disk).
- This allows the REPLAY command to work correctly, but it prevents special
- characters from being logged after translation to the PC's own character set.
- Screen dump (Ctrl-End or Ctrl-]F) and autoprint, however, record the
- translated characters.
-
- SET TERMINAL CHARACTER SET is effective only for text screens, not for
- graphics screens. This is because the fonts for all the special characters
- have not been designed yet (and may never be, and even if they are, they would
- require a great deal of memory).
-
- The SET TERMINAL CHARACTER-SET does not include DEC-TECHNICAL, even though
- MS-DOS Kermit supports this set internally. The only way to use the
- line-drawing and similar characters of the DEC-Technical set is by
- host-generated escape sequences, for example ESC ( > to designate it to G1,
- and then shifts (LS1 or SS1) to invoke the special characters.
-
- MS-DOS COMMAND PROCESSING
-
- A command file that contains lines or commands that are too long for DOS's
- line buffer can hang your PC.
-
- Commands in TAKE-files or MSKERMIT.INI can be continued by including "-" as
- the last character on the line, but NOT if the line ends with a trailing
- comment. In other words, you can't have a trailing comment on a continued
- line. If you need to end a line with a dash, but this dash is to be part of
- the command rather than a continuation symbol, then use \45 instead or put a
- comment AFTER the dash.
-
- Trailing comments can be used only in command files. All text starting with
- the first semicolon through the end of line is ignored. If you need to include
- an actual semicolon in a command, precede with a backslash (\;).
-
- If you need to include a question mark in a command file, use \63. A literal
- question mark will cause a help message to appear on your screen.
-
- The name and password that you specify in SET SERVER LOGIN must be matched
- exactly by the ones in REMOTE LOGIN. Alphabetic case matters. If you need
- to include spaces within the username, password, or account field of the
- REMOTE LOGIN or SET SERVER LOGIN commands, surround the field with {braces}.
-
- FILE TRANSFER
-
- SET EOF CTRL-Z, when used with text files which actually contain Ctrl-Zs,
- might result in gaps or truncation in the vicinity of the Ctrl-Z. This is
- an artifact of DOS file i/o.
-
- When using Kermit through a terminal server (particularly those that execute
- the TCP/IP Telnet protocol), it is often necessary to SET PARITY SPACE in
- order to transfer files. It is also often impossible to use very long
- packets. Try SET RECEIVE PACKET-LENGTH 80, working up or down to the longest
- length that works.
-
- REMOTE TYPE and other REMOTE commands may result in an error "Unable to open
- CON". This can result from insufficient FILES= in CONFIG.SYS or systems with
- all file handles used by, say, a network shell. FILES= should be at least 20.
-
- MS-DOS Kermit will use the program named in the DOS Environment command line
- starting as SHELL= as a replacement for COMMAND.COM. Such a line is seen by
- typing SET at the DOS prompt, and it is not associated with the SHELL= line
- appearing in file CONFIG.SYS.
-
- SET LO is no longer a sufficient abbreviation for SET LOCAL-ECHO. Use SET LOC.
-
- The MS-DOS Kermit command REMOTE SET BLOCK-CHECK will generally have no
- effect upon a remote server unless you also SET BLOCK-CHECK locally within
- MS-DOS Kermit.
-
- The host prompt for TRANSMIT is a single character (SET TRANSMIT PROMPT). It
- is not possible to specify a multi-character or variable prompt.
-
- SCRIPT PROGRAMMING
-
- The terminal emulator is not active during execution of script commands such
- as INPUT and OUTPUT. This means:
-
- 1. If the host sends the escape sequence that tells the terminal to identify
- itself, it will be ignored. You have to put the appropriate INPUT and
- OUTPUT commands in your script program.
-
- 2. Screen formatting escape sequences have no effect. If you have SET INPUT
- ECHO ON, they are simply displayed as-is.
-
- If the remote host is sending ANSI (VTxxx) escape sequences during execution
- of the script program, then users of IBM PCs can use the ANSI.SYS or similar
- console driver to interpret the escape sequences. This is particularly useful
- when running a script that logs in to a full-screen system, such as an IBM
- mainframe through a protocol converter. But beware: ANSI.SYS is not totally
- compatible with Kermit's VT emulator, and it may produce various unwanted side
- effects, perhaps the most annoying of which is suddenly popping your PC into
- 40-column mode! If you experience any difficulties with your screen display
- while using Kermit, SET INPUT ECHO OFF before the offending information
- arrives. Alternatively, remove ANSI.SYS from your CONFIG.SYS file, reboot,
- and most likely the problems will disappear.
-
- A specific example INPUT vs ANSI.SYS: If you write a script program that
- attempts to log in to a VAX/VMS system (5.0 or later), looks for the ESC Z
- terminal type query, and responds with the VT320 terminal-type ID, your PC
- can hang if you are running ANSI.SYS. Diagnosis: After receiving the VT320
- terminal-type ID, VMS sends ESC [ 62 " p (Select Operating Level = VT300 mode
- with 8-bit controls), ESC SP F (disable 8-bit controls), ESC > (enter keypad
- numeric mode). The Select Operating Level sequence hangs ANSI.SYS (at least
- in IBM PC DOS 3.30) and the PC. Solution: SET INPUT ECHO OFF.
-
- PAUSE, WAIT, and similar commands also cause port input to be echoed to the
- screen if INPUT ECHO is ON. Use SET INPUT ECHO OFF to defeat this effect.
-
- Script programming hint: To test whether a readable floppy disk is available
- in drive A:, do this:
-
- SPACE A:
- IF FAILURE ECHO No diskette in drive A:.
-
- HARDWARE RELATED PROBLEMS
-
- There have been isolated reports that MS-DOS Kermit (3.10 as well as earlier
- versions) crashes with "Divide Overflow" errors on certain 486-based machines
- such as the AST Bravo 486. This problem is currently unresolved. Kermit is
- known to work properly on the Dell 486, and it contains no instructions that
- require any kind of processor higher than an 8086/8088.
-
- MS-DOS Kermit will not necessarily work with all brands of internal modems,
- particularly some of the built-in ones that come with laptop PCs from various
- makers. Certain Everex models are known to fall into this category.
-
- If you cannot communicate satisfactorily through such a modem, you can use the
- new command SET COM1 <address> [ <irq> ] (also SET COM2 .. COM4) to identify
- the port's hardware address and interrupt request line number. USE THIS
- COMMAND WITH CAUTION, AS IT MIGHT INTERFERE WITH YOUR PC's NORMAL OPERATION!
- If all else fails, give the command SET PORT BIOS1 (or 2, etc) and try again,
- to access the port through the system BIOS -- this is much slower that direct
- hardware control by Kermit. Kermit does work with most popular brands of
- internal modem (such as the Hayes Smartmodem 1200B and 2400B), and with all
- known external modems, both direct-connect and acoustic.
-
- Kermit does not work properly with revision C of the built-in modem in the
- Toshiba T1600 laptop computer, due to an idiosyncracy of this modem. The
- symptom is that the connection drops when you escape back from connect mode,
- at which point Kermit turns off interrupts. The modem misinterprets this as a
- command to hang up the phone and turn itself off. Revision F of this modem
- does not have this problem. Note: This problem occurs with the "built-in"
- modem, not the "internal" modem (these are two different devices).
-
- Reportedly, on the PS/2 model 55SX, there is a driver called CMOSCLK.SYS which
- prevents Kermit from working properly. Reportedly, removing this driver from
- the CONFIG.SYS file makes Kermit work right. The effects of not running this
- driver on the 55SX are not known.
-
- The graphics display on the PS/2 Model 30, whose graphics adapter is neither
- a real EGA nor a real VGA, is elongated vertically so that certain normal
- Tektronix graphics images might not fit on the screen. Try SET TERM GRAPHICS
- CGA to use it in CGA mode.
-
- Users of add-in CPU boards should be aware that the board may not handle UART
- serial port details properly if the UART is not directly part of the add-in
- cpu board. One symptom will be Kermit can send but not receive characters. A
- workaround is to use SET PORT BIOS1. The faults are with the add-in boards and
- seem to be characteristic of the species.
-
- Reportedly MS-DOS 2.11 for Tandy 1200 machines has an internal problem if
- a program opens device CON for output, as Kermit does for REMOTE commands.
- The symptom is cross linkage of files on the current disk. This has not been
- noted with other versions of MS-DOS 2.11. Since it is not a Kermit problem
- the solution is to upgrade to a more recent version of DOS.
-
- NETWORKS
-
- The first edition of "Using MS-DOS Kermit" neglected to mention the 3COM(BAPI)
- network interface and the command "set port net 3com(bapi)".
-
- MS-DOS Kermit contains no built-in support for network devices (like Ethernet
- or Token Ring or Appletalk cards), nor does it perform network protocols such
- as Netbios or TCP/IP itself. Rather, it relies on external drivers to do
- these jobs, and then uses interrupts to communicate over the network using
- these drivers. In many cases, Kermit has knowledge of the higher-level
- protocols used on particular networks, and takes advantage of them. That's
- what all the network-related SET PORT commands are for. But to answer a
- frequently-asked question: no, Kermit does not contain built-in code to do
- TCP/IP or Telnet. Several commercial products exist (such as FTP Software's
- TNGLASS program and Novell's LAN WorkPlace for DOS) that give Bios Interrupt
- 14h access to TCP/IP Telnet connections, but it is hoped that similar
- public-domain packages will appear that do the same job. So far, none has.
-
- Sending BREAK over various network connections via SET PORT BIOS1 + Int 14h
- interceptor may or may not work, depending upon the actual network and drivers
- in use. Kermit uses the BREAK facility if the driver and network support it.
-
- Frequently people discover that their PC no longer works after installing a
- network board. The usual problem is they purchased a 16bit VGA display adapter
- and run it in 16 bit mode. Jumper it back to 8 bits and hardly notice the
- tiny drop in speed.
-
- PC-NFS apparently has a fault which prevents applications programs such as
- Kermit from creating a file in the root directory of a PC-NFS disk drive.
- When the applications program asks if a particular file exists in the root
- then PC-NFS always responds with "volume label present", whether or not the
- actual file is present. Thanks to Thomas Dwyer, tomiii@mtus5.bitnet, for this
- discovery.
-
- SET PORT TELAPI performance is good with version 4 of Novell's LAN WorkPlace
- for DOS but it is poor with version 3.5 because that older version sends each
- Kermit byte in an individual packet. Version 4 is much superior in other ways.
-
- Kermit does not support the AT&T LAN Async Server with STARGROUP version 3 OSI
- level protocols. This is a possibility for future releases. However, Kermit
- does work well for logging into an AT&T Unix machine across a StarGROUP
- network.
-
- SOURCE CODE
-
- MS-DOS Kermit is written in MASM (Microsoft Assembler). Only 8088-level
- instructions are used. Kermit does not use any special features of the 80286,
- 80386, or 80486 processors, nor does it use a math coprocessor.
-
- The program source file MSZIBM.ASM is too big to be assembled with Microsoft
- assemblers before version 5.0.
-
- INTERACTIONS WITH DOS
-
- On early (original motherboard & BIOS) PCs, and on systems that mimic them
- (e.g. early Compaqs), the cursor may assume a strange shape upon return from
- CONNECT mode. This is caused by a bug in the early BIOS, which stored cursor
- attributes incorrectly. The PC Tech Journal article discussing the problem is
- "The Dashed Cursor", by Paul Pierce, PC Tech J., Dec. 1985, page 47. He
- suggests the following fix:
-
- ; Program FIXCURS.ASM by Paul Pierce, PC Tech Journal, Dec 1985, page 47.
- ;
- code segment public 'code'
- assume cs:code, ds:code, es:nothing
- ;
- ; This program is set up to be made into a COM file
- ;
- org 100H
- ;
- ; First check for the monochrome adapter.
- ;
- start: int 11H ; set ax = equipment flag
- and al,30H ; mask off all but video bits
- cmp al,30H ; test for monochrome adapter
- jne exit ; jump if not monochrome
- ;
- ; Now check for incorrect cursor mode returned from the Bios
- ;
- mov ah,3 ; call bios to get cursor type
- int 10H ;
- cmp cx,0607H ; check for invalid (color) type
- jne exit ; jump if not a bad value
- ;
- ; At this point we know that the monochrome adapter is in use and that
- ; the bios cursor mode is incorrect.
- ; Call the bios to set the cursor type correctly.
- ;
- mov cx,080cH ; use correct cursor type
- mov ah,1 ; call bios to set cursor type
- int 10H
-
- exit: mov ah,0 ; exit back to DOS
- int 21H
-
- code ends
- end start
-
- Shift-Printscreen can cause the PC to hang if there is no attached printer.
- This is a BIOS feature, Kermit never receives the command. It occurs most
- frequently with a printer interface that has nothing plugged into it. If this
- happens during terminal emulation, try pressing Alt-= (hold down Alt and
- press the "=" key) several times to reset the terminal.
-
- When used in remote mode, e.g. as a server, a REMOTE HOST command can invoke
- the DOS critical error handler, which issues its familiar "Abort, Ignore,
- Retry?" message on its real screen, and is waiting for a response from its own
- real keyboard, and so the server will no longer respond. Kermit attempts to
- catch many of these errors before DOS learns learns about them, but some
- cannot be avoided (like disk i/o errors).
-
- Interaction between MS-DOS Kermit and various terminate-and-stay-resident
- (TSR) programs is necessarily unpredictable, depending upon how "well behaved"
- they are. Certain console, mouse, or graphics drivers might interfere with
- file transfer, etc. Caution should be used when invoking certain TSR programs
- while PUSHed from Kermit (e.g. using the PRINT command for the first time), as
- not all of these programs observe proper etiquette for allocating and freeing
- memory, and more importantly the TSRs will be loaded above Kermit into the
- middle of memory where they may prevent large programs from loading later.
-
- As a concrete example of the above, certain mouse drivers may prevent Kermit
- from transferring files, and possibly also from recovering from timeouts
- during script execution, or even from XOFF deadlocks during terminal
- emulation. Possible workarounds include: (1) remove the mouse driver from
- your CONFIG.SYS file; (2) if your mouse driver can be turned off and on (e.g.
- if you have MOUSE OFF and MOUSE ON commands), turn the mouse off during Kermit
- execution; (3) give the MS-DOS Kermit command SET TIMER OFF. Normally Kermit
- works fine with mouse drivers attached to another serial port.
-
- If TSR programs are interfering with Kermit (by taking over the timer or
- serial port interrupts), you should remove them all from your AUTOEXEC.BAT
- or CONFIG.SYS files, and then put them back one by one until you have
- identified the one that's causing the problem.
-
- End of MSKERM.BWR
-
-